//package com.elitel.frame.base.service.impl;
//
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.LinkedList;
//import java.util.List;
//import java.util.Map;
//
//import javax.annotation.Resource;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import com.alibaba.fastjson.JSON;
//import com.elitel.common.RedisUtil;
//import com.elitel.frame.base.service.RedisService;
//import com.elitel.frame.main.entity.ext.Operate;
//import com.elitel.frame.main.entity.ext.RedisInfoDetail;
//
//import redis.clients.jedis.Client;
//import redis.clients.jedis.Jedis;
//import redis.clients.jedis.JedisPool;
//import redis.clients.util.Slowlog;
//
//@Service
//@Deprecated
//public class RedisServiceImpl implements RedisService {
//
//
//	@Override
//	public List<RedisInfoDetail> getRedisInfo() {
//		// 获取redis服务器信息
//		String info = getRedisInfos();
//		List<RedisInfoDetail> ridList = new ArrayList<RedisInfoDetail>();
//		String[] strs = info.split("\n");
//		RedisInfoDetail rif = null;
//		if (strs != null && strs.length > 0) {
//			for (int i = 0; i < strs.length; i++) {
//				rif = new RedisInfoDetail();
//				String s = strs[i];
//				String[] str = s.split(":");
//				if (str != null && str.length > 1) {
//					String key = str[0];
//					String value = str[1];
//					rif.setKey(key);
//					rif.setValue(value);
//					ridList.add(rif);
//				}
//			}
//		}
//		return ridList;
//	}
//
//	// 获取redis日志列表
//	@Override
//	public List<Operate> getLogs(long entries) {
//		List<Slowlog> list = getLoges(entries);
//		List<Operate> opList = null;
//		Operate op = null;
//		boolean flag = false;
//		if (list != null && list.size() > 0) {
//			opList = new LinkedList<Operate>();
//			for (Slowlog sl : list) {
//				String args = JSON.toJSONString(sl.getArgs());
//				if (args.equals("[\"PING\"]") || args.equals("[\"SLOWLOG\",\"get\"]") || args.equals("[\"DBSIZE\"]")
//						|| args.equals("[\"INFO\"]")) {
//					continue;
//				}
//				op = new Operate();
//				flag = true;
//				op.setId(sl.getId());
//				op.setExecuteTime(getDateStr(sl.getTimeStamp() * 1000));
//				op.setUsedTime(sl.getExecutionTime() / 1000.0 + "ms");
//				op.setArgs(args);
//				opList.add(op);
//			}
//		}
//		if (flag)
//			return opList;
//		else
//			return null;
//	}
//
//	// 获取日志总数
//	@Override
//	public Long getLogLen() {
//		  Jedis jedis = null;
//	        try {
//	            jedis = RedisUtil.getResource();
//	            long logLen = jedis.slowlogLen();
//	            return logLen;
//	        } finally {
//	            // 返还到连接池
//	            jedis.close();
//	        }
//	}
//
//	// 清空日志
//	@Override
//	public String logEmpty() {
//		 Jedis jedis = null;
//	        try {
//	            jedis = RedisUtil.getResource();
//	            return jedis.slowlogReset();
//	        } finally {
//	            // 返还到连接池
//	            jedis.close();
//	        }
//	}
//
//	// 获取当前数据库中key的数量
//	@Override
//	public Map<String, Object> getKeysSize() {
//		long dbSize = dbSize();
//		Map<String, Object> map = new HashMap<String, Object>();
//		map.put("create_time", new Date().getTime());
//		map.put("dbSize", dbSize);
//		return map;
//	}
//	
//	// 获取当前redis使用内存大小情况
//	@Override
//	public Map<String, Object> getMemeryInfo() {
//		String[] strs = getRedisInfos().split("\n");
//		Map<String, Object> map = null;
//		for (int i = 0; i < strs.length; i++) {
//			String s = strs[i];
//			String[] detail = s.split(":");
//			if (detail[0].equals("used_memory")) {
//				map = new HashMap<String, Object>();
//				map.put("used_memory", detail[1].substring(0, detail[1].length() - 1));
//				map.put("create_time", new Date().getTime());
//				break;
//			}
//		}
//		return map;
//	}
//	
//	private String getDateStr(long timeStmp) {
//		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		return dateFormat.format(new Date(timeStmp));
//	}
//	
//	// 获取redis 服务器信息
//    public String getRedisInfos() {
//
//        Jedis jedis = null;
//        try {
//            jedis = RedisUtil.getResource();
//            Client client = jedis.getClient();
//            client.info();
//            String info = client.getBulkReply();
//            return info;
//        } finally {
//            // 返还到连接池
//            jedis.close();
//        }
//    }
//
//    // 获取日志列表
//    public List<Slowlog> getLoges(long entries) {
//        Jedis jedis = null;
//        try {
//            jedis = RedisUtil.getResource();
//            List<Slowlog> logList = jedis.slowlogGet(entries);
//            return logList;
//        } finally {
//            // 返还到连接池
//            jedis.close();
//        }
//    }
//
//
//
//    // 获取占用内存大小
//    public Long dbSize() {
//        Jedis jedis = null;
//        try {
//            jedis = RedisUtil.getResource();
//            // TODO 配置redis服务信息
//            Client client = jedis.getClient();
//            client.dbSize();
//            return client.getIntegerReply();
//        } finally {
//            // 返还到连接池
//            jedis.close();
//        }
//    }
//
//
//}
